Next: Custom C Indent, Previous: Lisp Indent, Up: Program Indent [Contents][Index]
Here are special features for indentation in C mode and related modes:
C-c C-qReindent the current top-level function definition or
aggregate type declaration (c-indent-defun).
C-M-qReindent each line in the balanced expression that follows
point (c-indent-exp). A prefix argument inhibits
warning messages about invalid syntax.
TABReindent the current line, and/or in some cases insert a
tab character (c-indent-command).
If c-tab-always-indent is t,
this command always reindents the current line and does
nothing else. This is the default.
If that variable is nil, this command
reindents the current line only if point is at the left
margin or in the line’s indentation; otherwise, it
inserts a tab (or the equivalent number of spaces, if
indent-tabs-mode is nil).
Any other value (not nil or t)
means always reindent the line, and also insert a tab if
within a comment or a string.
To reindent the whole current buffer, type C-x h C-M-\. This first selects the whole buffer as the region, then reindents that region.
To reindent the current block, use C-M-u C-M-q. This moves to the front of the block and then reindents it all.